Make _gdk_x11_window_tmp_unset_parent_bg not change above the toplevel window
authorAlexander Larsson <alexl@redhat.com>
Tue, 20 Jan 2009 22:31:51 +0000 (23:31 +0100)
committerAlexander Larsson <alex@localhost.localdomain>
Thu, 2 Apr 2009 08:15:20 +0000 (10:15 +0200)
gdk/x11/gdkwindow-x11.c

index be7947df16592582961895d0410cd243634389e8..39dbda50797f9fadfc91f1faba6d378e9884c646 100644 (file)
@@ -314,8 +314,11 @@ _gdk_x11_window_tmp_unset_parent_bg (GdkWindow *window,
 {
   GdkWindowObject *private;
   private = (GdkWindowObject*) window;
-  _gdk_x11_window_tmp_unset_bg (_gdk_window_get_impl_window ((GdkWindow *)private->parent),
-                               recurse);
+  
+  if (GDK_WINDOW_TYPE (private->parent) != GDK_WINDOW_ROOT)
+    window = _gdk_window_get_impl_window ((GdkWindow *)private->parent);
+  
+  _gdk_x11_window_tmp_unset_bg (window,        recurse);
 }
 
 void
@@ -355,8 +358,11 @@ _gdk_x11_window_tmp_reset_parent_bg (GdkWindow *window,
 {
   GdkWindowObject *private;
   private = (GdkWindowObject*) window;
-  _gdk_x11_window_tmp_reset_bg (_gdk_window_get_impl_window ((GdkWindow *)private->parent),
-                               recurse);
+
+  if (GDK_WINDOW_TYPE (private->parent) != GDK_WINDOW_ROOT)
+    window = _gdk_window_get_impl_window ((GdkWindow *)private->parent);
+
+  _gdk_x11_window_tmp_reset_bg (window, recurse);
 }
 
 static GdkColormap*